The present invention relates to a system and a method for analyzing the state of use of a memory by software executed in an information processing system, and a program for causing a computer to implement the method.
There is known an apparatus that, in order to evaluate, analyze and optimize software such as an OS and applications, acquires a log at the time of the software accessing a memory (DRAM) (a memory tracer) as described in Japanese patent applications JP2014-115954A and JP2013-072211. A similar apparatus called a hardware memory tracing tool (HMTT) is also known as described in “HaLock: hardware assisted lock contention detection in multithreaded applications.”
The above memory tracer acquires, as access logs, only commands from the software and physical addresses of the memory, and does not record data existing at the physical addresses. This is because the acquisition of the data requires a memory capacity enough to store the data, which is problematic in view of speed and quantity.
In order to check the behavior of the software in detail by the memory tracer, it is necessary to trace information about when and which physical address the software uses and compare the traced information with an access log acquired by the memory tracer. This is because it is not known only from the access log which software accesses the physical address. For the purpose of tracing the information, for example, there is known a method for dynamically monitoring and tracing the operation of an OS being executed, by software called SystemTap.